// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
#pragma once
#include "MySqlStatementImpl.h"
#include "MySqlShowStatement.h"

class MySqlShowEngineStatement_Option
{
public:
  static MySqlShowEngineStatement_Option_ptr STATUS;
  static MySqlShowEngineStatement_Option_ptr MUTEX;
  string_ptr name;
  uint64_t mask;
  MySqlShowEngineStatement_Option(uint64_t mask, string_ptr name);
};

class MySqlShowEngineStatement : virtual public MySqlStatementImpl, virtual public MySqlShowStatement
{
public:
  SQLExpr_ptr name;
  MySqlShowEngineStatement_Option_ptr option;

  SHAREDOBJECT(MySqlShowEngineStatement);
  void accept0(MySqlASTVisitor_ptr visitor);

  SQLExpr_ptr getName();

  void setName(SQLExpr_ptr name);

  MySqlShowEngineStatement_Option_ptr getOption();

  void setOption(MySqlShowEngineStatement_Option_ptr option);
};
